package com.pactera.asmp.server.service;

import com.pactera.asmp.server.entity.IssueChartVO;
import com.pactera.asmp.server.entity.TaskReportChartVO;
import com.pactera.asmp.server.entity.TaskSearchDTO;
import com.pactera.asmp.server.pojo.ScreenDeviceInfo;
import com.pactera.asmp.server.utils.PageDataResult;

import java.util.List;

public interface ScreenDataService {
    List<TaskReportChartVO> getTaskCategoryDataByProjectId(Integer projectId);
    List<TaskReportChartVO> getTaskFailDataByProjectId(Integer projectId);
    PageDataResult getTaskingByProjectId(TaskSearchDTO taskSearchDTO);
    List<IssueChartVO> getIssueChartLineByProjectId(Integer projectId);
    List<IssueChartVO> getIssueChartBarByProjectId(Integer projectId);

    void taskChanged(Integer projectId);
    void taskChangedStatus(String msgCode,Integer projectId,Object taskIdOrPercent);

    void issueChanged(Integer projectId);

    void asyncGetTaskCategoryDataByProjectId(Integer projectId);
    void asyncGetTaskFailDataByProjectId(Integer projectId);
    void asyncGetTaskingByProjectId(TaskSearchDTO taskSearchDTO);
    void asyncGetIssueChartLineByProjectId(Integer projectId);
    void asyncGetIssueChartBarByProjectId(Integer projectId);

    void asynGetTaskChangedStatus(String msgCode,Integer projectId,Object taskIdOrPercent);

    List<IssueChartVO> getIssueProcessNameByProject(Integer projectId);
    List<ScreenDeviceInfo> getScreenDeviceListByProjectId(Integer projectId);
    List<ScreenDeviceInfo> getScreenMasterListByProjectId(Integer projectId);
    List<ScreenDeviceInfo> getScreenTaskingDeviceListByProjectId(Integer projectId);

    void refreshTaskInfo(String userId, Integer projectId);
}
